1. Field of the Invention
The present invention relates, in general, to discovering and managing applications in a distributed computing environment and in networked computer systems, and, more particularly, a method and corresponding system for discovering applications in a manner that enables an applications manager to manage applications by the tasks they perform and also to provide unique link and launch capabilities such as launching applications at task entry points and at contextualized launch points in management domains.
2. Relevant Background
The growth in networked computers and distributed computing environments has led to a parallel need for mechanisms for managing the operation of these computer networks and environments. Specifically, there are many ongoing developments in the computer industry related to managing the operation of network devices, such as storage arrays, and also to manage the operation and use of software applications performing varied tasks in these networked and distributed computing environments. It often is difficult for a network or system administrator to know what applications are available on a system let alone to fully understand on which physical devices the applications are located and what tasks the applications are capable of performing.
For example, application and/or device management software is rapidly being developed in an attempt to support the changing needs of the data storage industry. Storage and system management software products often are designed to provide a human system administrator with the ability to link to an application and to launch the application, i.e., a “link and launch” function. For example, a topology management product for a storage network may provide an administrator the ability to launch element manager software or applications that relate to various elements, e.g., storage devices or storage services in the storage network(s), that were “found” through an element discovery process. Unfortunately, the existing management products require the administrator to perform guess work and to manually intervene to get the link and launch capabilities working for all the elements or devices in the managed storage network(s). Further, if an element manager or other application that operates to manipulate a number of hardware elements or devices is not co-resident with the managed elements or devices or if the element manager or other application manages more than one element or device, the amount of intervention required of the system administrator to properly manage applications in the network (e.g., to connect applications to devices or features) significantly increases.
Another difficulty for system administrators is related to the fact that most systems and storage management products discover hardware and data services in a network and then, attempt to find a single application that manages all the discovered hardware and data services. However, as applications within a system or network become more and more complex and overlap in their functionality, the concept of finding such a single application becomes increasingly less likely. For example, many products require an administrator to request a customization screen or port and then, to manually type in the location, such as Uniform Resource Locator (URL), for a particular application. The management product may then act to show a link to the application which the administrator can select to link and launch to the application at the location they previously entered. This requires the administrator to utilize discovery tools to find the application or to already know its location.
While some tools exist for assisting in the discovery of applications, these tools each have deficiencies that do not address the problems discussed above. For example, the storage industry developed the Storage Management Initiative Specification (SMI-S) which facilitates defining a point of connection or “Service Access Point” that a software client can use to connect to a service over a network. However, SMI-S based management products still require discovery of an element or device and then, getting the element's software access point. In other words, SMI-S models generally concentrate on discovery devices in a network and then, looking for an application that manages that device. SMI-S also is typically only effective if all devices are configured to support it and many network devices are not, and additionally, SMI-S does not address problems associated with discovering applications not just discovering elements or devices.
The Service Locator Protocol (SLP) is an industry standard protocol which simplifies in many ways the discovery of devices and applications. SLP provides a framework to allow networking applications to discover the existence, location, and configuration of networked services in enterprise networks. For example, SLP uses the multicast networking protocol over a communications network to advertise services, and these multicast advertisements can be received and processed by agents that understand the service advertisements. In order to locate services on a given network using SLP, users of network applications are required to supply the host name or network address of the machine that provides a desired service. However, ensuring that users and applications are supplied with correct information to locate services can cause many administrative problems. Further, many applications that need to be discovered are not “visual” or advertised in the sense required for discovery by SLP and similar protocols. SLP and other protocols often provide only one-to-one mapping between a published or advertised service and a single element or network device but do not provide for an application that manages or is related to more than one network element such as an element manager application.
Due to the limitations of existing discovery tools and location protocols and the deficiencies with management software, there remains a need for an improved method and corresponding system for enabling a system administrator to manage elements of a computer system or network and also to manage applications running in such a system or network. Preferably, such a method would provide an administrator improved discovery capabilities and enhanced link and launch capabilities while also providing the administrator to better understand the tasks performed by applications in a system or network.